﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using KPIS.GERP.GHRMS.MODEL;

namespace KPIS.GERP.GHRMS.IBLL
{
    public interface ICommandBLL
    {
        IList<CommandInfo> ListCommand(string TranType);
        IList<CommandInfo> ListCommand(string TranType, Nullable<int> Sequence, Nullable<int> CommandType, Nullable<int> EmployeeType);
        DataSet LoadCommands(string TranType, Nullable<int> Sequence, Nullable<int> CommandType, Nullable<int> EmployeeType);
        DataSet LoadCommandType(string CmdGroup);
        DataTable Select(string Group, string CmdType);
        string GetNextDraftNo(string CommandTypeSeq);

        void Insert(string TranType, string CmdFlag, string DraftNo, string RefNo, string Descriptions
            , string Status, Nullable<int> ApprovedBy, string ApprovedName, string ApprovedPositions
            , Nullable<DateTime> ApprovedDate, string Remarks, int CreatedBy);
        void Update(string TranType, int Sequence, string CmdFlag, string DraftNo, string RefNo, string Descriptions
            , string Status, Nullable<int> ApprovedBy, string ApprovedName, string ApprovedPositions
            , Nullable<DateTime> ApprovedDate, string Remarks, int UpdatedBy);
        void Delete(string TranType, int Sequence, int UpdatedBy);

        void InsertCommandEmployee(string TranType, string CmdFlag, string DraftNo, string RefNo
            , string Name, string Descriptions, string ReportHeader
            , string Status, int EmployeeType, int CommandType, Nullable<int> ApprovedBy, string ApprovedName
            , string ApprovedPositions, Nullable<DateTime> ApprovedDate, string Remarks, int CreatedBy);

        void UpdateCommandEmployee(string TranType, int Sequence, string CmdFlag, string DraftNo, string RefNo
            , string Name, string Descriptions, string ReportHeader
            , string Status, int EmployeeType, int CommandType, Nullable<int> ApprovedBy, string ApprovedName
            , string ApprovedPositions, Nullable<DateTime> ApprovedDate, string Remarks, int UpdatedBy);
    }
}
